/******************************************************************************

 @File         PVRShellAPI.h

 @Title        Qt/PVRShellAPI

 @Version      

 @Copyright    Copyright (C)  Imagination Technologies Limited.

 @Platform     Independent

 @Description  Makes programming for 3D APIs easier by wrapping surface
               initialization, Texture allocation and other functions for use by a demo.

******************************************************************************/

#ifndef __PVRSHELLAPI_H_
#define __PVRSHELLAPI_H_

/****************************************************************************
** 3D API header files
****************************************************************************/
#include <QGLWidget>

class PVRShell;
struct PVRShellData;

/*!*************************************************************************
 @Class PVRShellInitAPI
 @Brief Initialisation interface with specific API.
****************************************************************************/
class PVRShellGLWidget : public QGLWidget
{
	Q_OBJECT
public:
        PVRShellGLWidget(QWidget *parent, PVRShell * pShell, const PVRShellData * const pData);
		~PVRShellGLWidget();
        void resizeGL(int w, int h);
        QSize sizeHint();

protected:
        PVRShell *m_pShell;
};

/*!*************************************************************************
 @Class PVRShellInitAPI
 @Brief Initialisation interface with specific API.
****************************************************************************/
class PVRShellInitAPI
{
public:
        PVRShellGLWidget *m_pGLWidget;
};

#endif // __PVRSHELLAPI_H_

/*****************************************************************************
 End of file (PVRShellAPI.h)
*****************************************************************************/


